package reflect;

import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
public class ReflectDemo6 {
    public static void main(String[] args) throws Exception {
        Class cls=Class.forName("reflect.Person");
        Method method=cls.getMethod("say",String.class,int.class);
        String name=method.getName();
        System.out.println(name);

        Class returnType= method.getReturnType();
        System.out.println("返回值类型："+returnType.getSimpleName());
        int pc=method.getParameterCount();
        System.out.println("参数个数："+pc);
        Class[] paramTypes=method.getParameterTypes();
        for(Class pt:paramTypes){
            System.out.println("参数类型："+pt.getSimpleName());
            int modifiers= method.getModifiers();
            switch(modifiers){
                case Modifier.PUBLIC:
                    System.out.println("访问权限：public");
                    break;
                case Modifier.PRIVATE:
                    System.out.println("访问权限：private");
                    break;
                case Modifier.PROTECTED:
                    System.out.println("访问权限：protected");
                    break;
                default:
                    System.out.println("访问权限：default");
            }
        }
    }
}
